Linux大人养成计划1---基础命令总结
点击上方👆👆关注我
误区
刷了一波视频,现在把Linux的一些常用基本命令总结了下。学会这些,Linux的基本操作就会了。
涉及到的命令:
1.命令提示符的含义
2.命令格式
3.基本命令
4.常见目录的作用
5.文件搜索
6.帮助命令
7.文件压缩
8.开关机命令
9.挂载
10.查看登陆操作信息
11.Shell基础
12.Bash的基本功能
1.命令提示符的含义
[root@localhost ~]#
其中:
root: 当前用户
localhost 主机名
~ 当前所在目录(家目录)
# 超级用户的提示符
$ 普通用户的提示符
2.命令格式
命令 [选项] [参数] 注意:当有多个参数时,可以写在一起
3.基本命令
(1). ls 用来列出该目录下的所有目录和文件
ls [选项] [文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-d 查看目录属性
-h 人性化显示文件大小(例如以k显示,而不是字节)
(2).cd 进入某个目录
cd [目录]
英文原意: change directory
以下是一些快捷操作
cd ~ 进入当前用户的家目录
cd 进入当前用户的家目录
cd - 进入上次目录
cd .. 进入上级目录
cd . 进入当前目录
(3).rmdir 删除空目录(remove empty directions)
rmdir [目录名]
(4).rm 删除目录或文件
rm –rf [文件或目录]
命令英文愿意:remove
选项:
-r 删除目录
-f 强制
(5).cp 复制文件或目录
cp [选项] [原文件或目录] [目标目录]
原意:copy
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制复制链属性
-a 相当于 –pdr
(5).mv 移动或剪切
mv [原文件或目录] [目标目录]
原意:move
操作都差不多,可以自己自行多实践下,我就贴图了
(6).cat 查看文件内容
cat 文件
(7).vi 编辑文件内容
vi 文件
注:进入后按'i'进行编辑插入,如果要退出的话,先按ESC键,然后输入
:q 表示退出,但文件必须没修改过才可以
:wq 修改并且退出
:q! 强制退出
4.常见目录的作用
/根目录
/bin命令保护目录(普通用户就可以读取的命令)
/boot启动目录,启动相关文件
/dev设备文件保护目录
/etc配置文件保护目录
/home普通用户的家目录
/lib系统库保护目录
/mnt系统挂载目录
/root超级用户的家目录
/tmp临时目录
/sbin命令保护目录(超级用户才能使用的目录)
/pro直接写入内存的(不能随便动)
/sys
/usr系统软件资源目录
/usr/bin/系统命令(普通用户)
/usr/sbin/系统命令(超级用户)
/var系统相关的文档内容
可以在root, home和tmp随便放内容,其他目录最后不要随便放东西
5.文件搜索
(1).locate 文件名
在后台数据库中按文件名搜索,速度很快不过需要更新数据库:updatedb
如果不人为更新的话,系统大概24小时更新一次
/etc/updatedb.conf配置文件,例如配置只搜索那些目录等
(2).find [搜索范围] [搜索文件]
例如
1). find / -name instal.log 表示从根目录搜索名为instal.log的文件
通配符:
* 匹配任何内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
2). find /root –iname install.log
从root目录不区分大小写搜索
3). find /root –user root
按照所有者搜索(就是说这个文件是属于所有者的)
4). find /root –nouser
查找没有所有者的文件(这样的文件一般是垃圾文件,或者内湖文件,或者外部文件)
5). find /root –mtime +10/10/-10
查找10前/10当天/10内修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
6). find /root –size +10/10/-10
按文件大小来查找 大于/等于/小于10(记得指定单位)
7). find /root inum 1243
按照id节点来查找
8). find /root –size +10k –a –size -20k
可以多个条件组合来查找 大于10k且小于20k
(-a相当于and语句,即‘与’语句)
9). find /root –size +10k –exec ls –lh {} \
多条命令组合处理
-exec/ -ok 命令{}\ 对搜索结果执行操作
(3).grep [选项] 字符串 文件名
在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
6.帮助命令
1.man
(1).man–f 命令 ----查看命令的功能 相当于whatis命令
(2).man –级别(1,2,3…) 命令----查看命令拥有那个级别的帮助
注:一个相同的命令有很多中级别,如下图
举例:man -5 passed; man -8 ifconfig等
(3).man–k 命令 ----查看和命令相关的所有帮助,相当于 apropos 命令
2.help
(1).命令--help -----获取命令选项的帮助 例如:ls --help
注:不过只能操作外部命令,像cd这个内核命令,则不可以 cd --help
(2)help shell内部命令 ---获取shell内部命令的帮助, 只能获取内部命令
注:
可以通过whereis 命令----来查看是否是内部命令
放在/bin/ 目录的一般不是内部命令
例:help cd ---获取cd命令的帮助
(3).info命令 ------详细命令帮助。进入该命令后可以执行以下操作
回车:进入子帮助页面(带有*号标记)
u : 进入上层页面
n : 进入下一个帮助小节
p : 进入上一个帮助小节
q : 退出
7.文件压缩
常用的压缩格式有:
.zip .gz .bz2
.tar.gz .tar.bz2
(1).zip格式压缩与解压缩
zip 压缩文件名 源文件 ---压缩文件
zip–r 压缩文件名 源目录 ---压缩目录
unzip 压缩文件 ---解压缩.zip文件
(2).gz格式压缩与解压
gzip 源文件 ---压缩为.gz格式文件,源文件会消失
gzip –c 源文件 > 压缩文件 ---压缩为gz格式,源文件保留
例如:gzip –c test > test.gz
gzip –r 目录 ---压缩该目录下的所有子文件,但不能压缩目录
gzip–d 压缩文件 ---解压缩
gunzip 压缩文件 ---解压缩
(3).bz2格式压缩与解压
bzip2 源文件 ------压缩为.bz2格式,不保留源文件
bzip2 –k 源文件 ------压缩后保留源文件
注:bzip2命令不能压缩目录
(4).打包命令tar与解打包 (可以解决目录不能压缩问题,可以先打包,再压缩来解决)
tar–cvf 打包文件名 源文件 ---把文件打包为.tar格式文件
选项参数:
-c : 打包
-v : 显示过程
-f : 指定打包后的文件名
tar–xvf 打包文件名 ---解打包
选项参数
-x : 解打包
(5).tar.gz压缩格式与解压
注:其实tar.gz格式是先打包成.tar格式,再压缩为.gz格式的
tar–zcvf 压缩包名 源文件
选项参数:
-z : 压缩为.tar.gz格式
tar–zxvf 压缩包名 ---解压.tar.gz格式的文件
选项参数:
-x : 解压缩.tar.gz格式
8.开关机命令
(1).shutdown命令
shutdown[选项] 时间
选项:
-c : 取消前一个关机命令
-h : 关机
-r : 重启
(2).其他关机命令
halt
poweroff 强行关掉电源的意思
init0 调用0号的系统运行级别
reboot 重启
init 6 重启 调用6号运行级别
注:系统运行级别如下所示
0 关机
1 单用户
2 不完全多用户,不含NFS服务
3 完全多用户(默认级别)
4 未分配
5 图形界面
6 重启
(3).如果要修改系统默认级别,可以在/etc/inittab这个文件里改
(4).runlevel 查看系统运行哪个级别
(5).logout 退出登陆命令
9.挂载
(1).mount 查询系统中已经挂载的设备
(2).mount–a 依据配置文件/etc/fstab的内容,自动挂载
(3).挂载命令格式(如下图)
以下做一个挂载光盘的步骤
1).mkdir/mnt/cdrom/ 建立挂载点
2).mount–t iso9960 /dev/cdrom /mnt/cdrom 挂载光盘到指定位置
(4).卸载命令
umount设备文件名或挂载点
例如卸载刚才挂载的那个:umount /mnt/cdrom
(5).挂载U盘
fdisk–l 查看U盘设备文件名
挂载例子:mount –t vfat /dev/sdb1 /mnt/usb/
10.查看登陆操作信息
(1).w 用户名 查看登陆用户信息
(2).who用户名 查看登陆用户信息
命令输出:
- 用户名
- 登陆终端
- 登陆时间(登陆来源IP地址)
(3).last 查询当前登陆和过去登陆的用户信息
命令默认读取/var/log/wtmp文件数据
命令输出:
- 用户名
- 登陆终端
- 登陆IP
- 登陆时间
- 退出时间(在线时间)
(4).lastlog 查看所有用户的最后一次登陆时间
命令默认读取/var/log/lastlog文件内容
命令输出:
- 用户名
- 登陆终端
- 登陆IP
- 最后一次登陆时间
Shell基础
1.shell是什么?
(1).shell是一个命令解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至编写一些程序。例如我们平时在屏幕上打的字符命令等,计算机其实是无法识别的,计算机只能识别二进制指令。所以我们可以shell来解释运行
(2).shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。shell是解释执行的脚本语言,在shell中可以直接调用Linux系统命令
2.shell的分类
Bourne Shell:主文件名为sh
C Shell:语法和C有点相似
3.echo输出命令
echo [选项] [输出内容] --把内容输出到屏幕上
选项参数:
-e : 支持反斜杠控制字符转
反斜杠下的控制字符:
\a : 输出警告
\b : 退格键,也就是向左删除键
\n : 换行符
\r : 回车键
\t : 制表符,也就是Tab键
\v : 垂直制表符
\0nnn: 按照八进制ASCII码表输出字符
\xhh : 按照十六进制ASCLL码表输出字符
例子:echo -e “I love you”
屏幕上对应输出“I love you”
如何输出有颜色的字符:
echo -e “\e[1;31m I loveyou \e[0m”
屏幕上输出有颜色的”I love you”
#颜色表:
30m=黑色 31m=红色
32m=绿色 33m=黄色
34m=蓝色 35m=洋红
36m=青色 37m=白色
解析:
\e[1:31m 开启颜色显示
\E[0m 关闭颜色显示
4.编写第一个脚本
(1).创建一个文件 vi hello.sh 下面是文件的内容
#!/bin/bash (这一行必须加,不加也可能可以正常运行,但遇到有些命令会出错)
#The first program(‘#‘表示注释)
echo –e “\e;31m I love you \e[0m
(2).执行脚本
1).赋予执行权限
chmod 755 hello.sh
./hello.sh
输出结果:
2).通过Bash调用执行脚本
bash hello.sh
输出结果与上面的一样
Bash的基本功能
1.查看与设定别名
使用别名可以减少我们的工作量等。例如一个指令的名字很长等,我们可以给它命令一个自己喜欢的名字。
(1).alias 查看系统中所有指令的别名
alias别名=’原命令’ --- 设定命令别名
不过这样设置的别名,只是临时有效的,系统重启之后,设置的别名就会失效了
(2).别名永久生效与删除别名
1).vi~/.bashrc --- 把别名写入环境变量配置文件中,这样就永久有效。
2).unalias 别名 --- 删除别名
对于一个指令,它可以是一个别名,别名可能是临时设置的,和系统环境变量的配置文件不一样,那他们的生效顺序?
(3).别名的生效顺序
第一顺位执行用绝对路径或相对路径执行的命令
第二顺位执行别名
第三顺位执行Bash的内部命令
第四顺位执行按照$PATH环境变量的目录查找顺序找到的第一命令
2.常用快捷键
ctrl+ c 强制终止当前命令
ctrl+ l 清屏
ctrl+ a 光标移动到命令行首
ctrl+ e 光标移动到命令行尾
ctrl+ u 从光标所在位置删除到行首
ctrl+ z 把命令放入后台
ctrl+ r 在历史命令中搜索
3.历史命令
(1).history[选项] [历史命令保存文件]
选项参数:
-c : 清空历史命令
-w : 把缓存中的历史命令写入历史保存文件
注: 自带历史保存文件名:~/.bash_history
(2).历史命令的调用
使用上下箭头调用以前的历史命令
使用”!n”重复执行第n条历史命令
使用”!!”重复执行上一条命令
使用”!字符串”重复执行最后一条以该字符串开头的命令
4.重定向
例如当我们执行 cat test.txt 命令时,该命令会把test.txt里面的内容输出到屏幕上,但如果我们希望它把结果输出到某个文件上,而不是屏幕,就可以采用重定向,把内容重定向到文件上,如:cat test.txt > content.txt, 把内容输出到content.txt中。
请看一下一系列图片
(1).输出重定向
错误输出:就是执行了一条错误的执行,不存在的命令
在执行指令的时候,我们一般都觉得是没问题的,也就是说
错误指令 2>文件
错误命令2>>文件
这样的命令用处不大,因为需要事先知道命令错了,都事先知道错了,那当然会改过来勒。下面的命令可以同时处理正确和错误的命令:
(2).输入重定向
wc[选项] [文件名]
选项参数:
-c : 统计字节数
-w : 统计单词数
-l : 统计行数
命令< 文件 把文件作为命令输入
命令<< 标识符 从键盘输入字符,直到遇到与标识符一样的字符串才结束
(3).多命令顺序执行
5.管道符
命令格式:命令1 | 命令2 --把命令1的正确输出结果作为命令2的操作对象
6.通配符
7.其他特殊符号
如果对你有所帮助,那就,点个赞呗
后续会写
Linux的网络配置管理
shell简单脚本编写
欢迎关注我的公众号:苦逼的码农